FB vnoreny select

Otázka od: Jaroslav Uher

25. 11. 2002 13:10

Ahoj,

potreboval bych udelat vnoreny select z treti tabulky, ale nedari se
 
Jedna se mi (jen o zjisteni) poctu zaznamu K.KOD_OSOBY v te 3
tabulce

select
K.PRIJMENI || ' '||K.JMENO ||' '||K.TITUL AS PRIJMENI,
K.OBEC,K.TEL_DOMU,
M.MAKLER,
K.ULICE,K.KOD_OSOBY,K.ID
/** (select COUNT(*) from PRIPADY P where (P.DEL = 0) AND
(P.KOD_KONT = K.KOD_OSOBY)) **/
from KONTAKTY K
JOIN MAKLERI M
ON (M.KOD_MK = K.FIRST_USER)
where (K.DEL = 0)

Muze mi nekdo poradit, hlavne jestli je to takto vubec resitelne,

dekuji a preji hezky den

Jarek Uher

Odpovedá: Macko Martin

25. 11. 2002 14:21

Na prvni pohled (nepouzivam FB ale MS SQL) ti tam chybi carka za K.ID
(mozna je to ale nasledek toho zakomentovani)
Co presne nefunguje ?

-----Original Message-----
From: Jaroslav Uher [mailto:moravia@mbox.vol.cz]
Sent: Monday, November 25, 2002 12:21 PM
To: delphi-l@clexpert.cz
Subject: FB vnoreny select


Ahoj,

potreboval bych udelat vnoreny select z treti tabulky, ale nedari se
 
Jedna se mi (jen o zjisteni) poctu zaznamu K.KOD_OSOBY v te 3
tabulce

select
K.PRIJMENI || ' '||K.JMENO ||' '||K.TITUL AS PRIJMENI,
K.OBEC,K.TEL_DOMU, M.MAKLER, K.ULICE,K.KOD_OSOBY,K.ID
/** (select COUNT(*) from PRIPADY P where (P.DEL = 0) AND
(P.KOD_KONT = K.KOD_OSOBY)) **/
from KONTAKTY K
JOIN MAKLERI M
ON (M.KOD_MK = K.FIRST_USER)
where (K.DEL = 0)

Muze mi nekdo poradit, hlavne jestli je to takto vubec resitelne,

dekuji a preji hezky den

Jarek Uher

Odpovedá: Karel Rys

25. 11. 2002 14:47

> potreboval bych udelat vnoreny select z treti tabulky, ale nedari se
>   Jedna se mi (jen o zjisteni) poctu zaznamu K.KOD_OSOBY v te 3
> tabulce
>
> select
> K.PRIJMENI || ' '||K.JMENO ||' '||K.TITUL AS PRIJMENI,
> K.OBEC,K.TEL_DOMU, M.MAKLER, K.ULICE,K.KOD_OSOBY,K.ID
> /** (select COUNT(*) from PRIPADY P where (P.DEL = 0) AND
> (P.KOD_KONT = K.KOD_OSOBY)) **/
> from KONTAKTY K
> JOIN MAKLERI M
> ON (M.KOD_MK = K.FIRST_USER)
> where (K.DEL = 0)

Ahoj,

jedine, co me napada, jestli neni nutne v tom vnorenem SELECTu napsat
COUNT(p.*), nebo
COUNT(p.NejakePole). Jinak mi to pripada spravne, za ten SELECT jeste obvykle
pisu neco jako AS
POCET apod...

Karel Rys

Odpovedá: Jiri Wendl, KSH-Data

25. 11. 2002 15:10

>Ahoj,

>potreboval bych udelat vnoreny select z treti tabulky, ale nedari se

>Jedna se mi (jen o zjisteni) poctu zaznamu K.KOD_OSOBY v te 3
>tabulce

Ahoj zkus tohle, ale pisu to zhlavy tak sorry za chybicky  

select
K.PRIJMENI || ' '||K.JMENO ||' '||K.TITUL AS PRIJMENI,
K.OBEC,K.TEL_DOMU,
M.MAKLER,
K.ULICE,K.KOD_OSOBY,K.ID,
Count(P.KOD_KONT)
from KONTAKTY K
JOIN MAKLERI M ON (M.KOD_MK = K.FIRST_USER)
LEFT JOIN PRIPADY P ON (P.KOD_KONT = K.KOD_OSOBY)
where (K.DEL = 0) AND (P.DEL = 0)
GROUP BY
K.PRIJMENI ,K.JMENO ,K.TITUL,
K.OBEC,K.TEL_DOMU,
M.MAKLER,
K.ULICE,K.KOD_OSOBY,K.ID

Preji hodne zdaru

Jirka

Odpovedá: Jaroslav Uher

25. 11. 2002 18:30

Ahoj,

On 25 Nov 2002 at 13:58, Karel Rys wrote:

> > potreboval bych udelat vnoreny select z treti tabulky, ale nedari se
> >   Jedna se mi (jen o zjisteni) poctu zaznamu K.KOD_OSOBY v te 3
> > tabulce
> >
> > select
> > K.PRIJMENI || ' '||K.JMENO ||' '||K.TITUL AS PRIJMENI,
> > K.OBEC,K.TEL_DOMU, M.MAKLER, K.ULICE,K.KOD_OSOBY,K.ID
> > /** (select COUNT(*) from PRIPADY P where (P.DEL = 0) AND
> > (P.KOD_KONT = K.KOD_OSOBY)) **/
> > from KONTAKTY K
> > JOIN MAKLERI M
> > ON (M.KOD_MK = K.FIRST_USER)
> > where (K.DEL = 0)
>
> jedine, co me napada, jestli neni nutne v tom vnorenem SELECTu napsat
> COUNT(p.*), nebo COUNT(p.NejakePole). Jinak mi to pripada spravne, za
> ten SELECT jeste obvykle pisu neco jako AS POCET apod...
>
> Karel Rys

diky moc, mas pravdu, melo by to vypadat takto

(select COUNT(P.KOD_PP) from PRIPADY P where (P.DEL = 0) AND
(P.KOD_KONT = K.KOD_OSOBY)) AS POCET

a mile mne prekvapila i rychlost celeho vyberu.

Jarek